It is desirable to maintain a persistent connection between a client device (i.e., a cell phone) and a web-server in order to reduce the overhead needed to re-establish the connection. This is particularly true in connections made over the Hypertext Transfer Protocol (HTTP) and in wireless networks. However, Network Address Translation (NAT) gateways and other equipment that lie along the connection pathway may terminate or drop the connection in the event that the connection goes idle beyond a predefined period of time (i.e., a “timeout” event).
To prevent a NAT gateway from terminating the connection, a client device may periodically transmit to the web server a “keep-alive” packet. A keep-alive packet does not actually include any transactional information and has no effect of the state of the data between the client device and the web-server. A keep-alive packet merely prevents a timeout from occurring so that the NAT gateway does not terminate or drop the connection. Client devices often aggressively transmit keep-alive packets, without any regard to the actual parameters used by the NAT gateway, and thereby implement a universal strategy to keep the connection open.
However, these prior art methods are undesirable in battery-operated devices, where aggressive delivery of keep-alive packets may quickly drain the battery. The prior art methods of maintaining persistent connections are also ideally suited to channels where bandwidth is not constrained. Thus, in bandwidth-constrained mediums, such as wireless network channels, this strategy is wasteful of precious bandwidth.
The present disclosure hereby incorporates by reference the disclosure of U.S. Pat. No. 7,426,569 in its entirety as if fully set forth herein. U.S. Pat. No. 7,426,569 discloses apparatuses and methods for determining the timeout of a network gateway and setting the period of a keep-alive signal in order to maintain a persistent connection. However, it is desirable to provide further apparatuses and methods for maintaining a persistent connection in a communication network. It is particularly desirable to provide further apparatuses and methods for maintaining a persistent connection in a wireless network.